package com.atguigu.search.controller;

import com.atguigu.common.exception.BizCodeEnum;
import com.atguigu.common.to.es.SkuEsModel;
import com.atguigu.common.utils.R;
import com.atguigu.search.service.ProductSaveService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author polaris
 * @date 2021/1/2 2:48 下午
 */
@Slf4j
@RestController
@RequestMapping("/search/save")
public class ElasticSaveController {

  @Resource
  ProductSaveService productSaveService;

  //上架商品
  @PostMapping("/product")
  public R productStatusUp(@RequestBody List<SkuEsModel> skuEsModels) {
    boolean status ;
    try {
      status = productSaveService.saveProductAsIndices(skuEsModels);
    } catch (Exception e) {
      log.error("ElasticSearchController商品上架错误,{}", e);
      return R.error(BizCodeEnum.PRODUCT_UP_EXCEPTION.getCode(), BizCodeEnum.PRODUCT_UP_EXCEPTION.getMsg());
    }
    return status ? R.ok() :
      R.error(BizCodeEnum.PRODUCT_UP_EXCEPTION.getCode(), BizCodeEnum.PRODUCT_UP_EXCEPTION.getMsg());
  }
}
